Techniques to Tackle State Explosion in global Predicate Detection
نویسندگان
چکیده
Detecting properties about distributed program as an important problem in testing and debugging distributed programs. This problem is very hard due to the combinatorial explosion of the global state space. For a given execution, we consider the problem of detecting whether a predicate @ is true at some global state of the system. First, we present a space eficient algorithm for detecting @. Next, we present a parallel algorithm to reduce the time taken to detect @. We then improve the performance of our algorithms, both in space and time, b y increasing the granularity of the execution step from an event to a sequence of events in a process.
منابع مشابه
Detecting Temporal Logic Predicates in Distributed Programs Using Computation Slicing
Detecting whether a finite execution trace (or a computation) of a distributed program satisfies a given predicate, called predicate detection, is a fundamental problem in distributed systems. It finds applications in many domains such as testing, debugging, and monitoring of distributed programs. However predicate detection suffers from the state explosion problem – the number of possible glob...
متن کاملChecking properties of distributed computations
Predicate detection is an important problem in distributed systems. Predicate detection suffers from state explosion since the number of possible global states is exponential in the number of processes. Computation slicing is an important abstraction technique used to solve the predicate detection problem. The key observation in this paper is that an equivalence relation on the global state lat...
متن کاملSoftware Fault Tolerance of Distributed Programs Using Computation Slicing
Writing correct distributed programs is hard. In spite of extensive testing and debugging, software faults persist even in commercial grade software. Many distributed systems, especially those employed in safety-critical environments, should be able to operate properly even in the presence of software faults. Monitoring the execution of a distributed system, and, on detecting a fault, initiatin...
متن کاملOn Checking Whether a Predicate Definitely Holds
Predicate detection is an important problem in testing and debugging distributed programs. Cooper and Marzullo introduced two modalities possibly and definitely as a solution to this problem. Given a predicate p, a computation satisfies possibly : p if p is true for some global state in the computation. A computation satisfies definitely : p if all paths from the initial to the final global sta...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کامل